/* eslint-disable */
// 如果所返回的函数在超时时限以内（默认的超时时限为一秒）得到调用，该函数将清除超时事件并调用输入的函数。
// 如果所返回的函数在超时时限以内未得到调用，则无条件调用输入的函数。
function createFunctionWithTimeout(callback = () => {}, timeout) {
  let called = false

  function fn() {
    if (!called) {
      called = true
      callback()
    }
  }
  setTimeout(fn, timeout || 500)
  return fn
}

function stat(options = {}) {
  createFunctionWithTimeout(options.callback)
  _czc.push(﻿[
    '_trackEvent',
    options.category,
    options.action,
    options.label,
    options.value,
    options.nodeid,
  ])
}

window.stat = stat
// exports default stat
